package org.mendoza.salud.hvt.client.local.gui.geo;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import org.jboss.errai.databinding.client.api.DataBinder;
import org.jboss.errai.jpa.sync.client.shared.JpaAttributeAccessor;
import org.jboss.errai.jpa.sync.server.JavaReflectionAttributeAccessor;
import org.jboss.errai.reflections.ReflectionUtils;
import org.jboss.errai.ui.client.widget.HasModel;
import org.jboss.errai.ui.shared.api.annotations.*;
import org.mendoza.salud.hvt.client.shared.model.global.Pais;

import javax.annotation.PostConstruct;
import javax.inject.Inject;

/**
 * Created by administrador on 22/09/14.
 */
@Templated("PaisViewList.html#paisItem")
public class PaisListItem extends Composite implements HasModel<Pais>{
    @Inject
    @AutoBound
    private DataBinder<Pais> pais;

    @Inject
    @DataField("seleccionado")
    CheckBox seleccionado;

    @Inject
    @DataField("nombreItem")
    @Bound
    Label nombre;
    @Inject
    @DataField("codigo3Item")
    @Bound(property = "codigoAlfa3")
    Label codigo3;
    @Inject
    @DataField("codigo2Item")
    @Bound(property = "codigoAlfa2")
    Label codigo2;
    @Inject
    @DataField("codigoNumericoItem")
    @Bound(property = "codigoNumerico")
    Label codigoNumerico;


    @Override
    public Pais getModel() {
        return pais.getModel();
    }

    @Override
    public void setModel(Pais pais) {
        this.pais.setModel(pais);
    }

    @EventHandler("seleccionado")
    public void seleccionado(ClickEvent event) {
         changeStyle();
    }

    @PostConstruct
    public void init() {
        Pais pais1 = new Pais();
        changeStyle();
    }

    private void changeStyle() {
        if (seleccionado.getValue()!=true) {
            removeStyleName("alert-danger");
            addStyleName("alert-info");
        } else {
            removeStyleName("alert-info");
            addStyleName("alert-danger");
        }
    }

}
